import request from '../util/request.js';

// ------------用户表相关接口操作
export function getAllUserList(carParams) {
  return request({
    url: '/getAllUserList',
    method: 'post',
    data: carParams
  })
}
// 登录接口，查询操作
export function getUserList(params) {
  return request({
    url: `/login`,
    method: 'post',
    data: params
  })
}

// ------------注册接口，插入操作
export function setUserList(params) {
  return request({
    url: '/register',
    method: 'post',
    data: params
  })
}
// 添加角色
export function setRole(params) {
  return request({
    url: '/register/role',
    method: 'post',
    data: params
  })
}
// 更新昵称
export function updateName(params) {
  return request({
    url: '/user/name',
    method: 'post',
    data: params
  })
}
// 更新昵称
export function updatePwd(params) {
  return request({
    url: '/user/password',
    method: 'post',
    data: params
  })
}

// ------------汽车表相关接口操作
// 获取车辆列表信息，查询操作
export function getCarList(carParams) {
  return request({
    url: '/carList',
    method: 'get',
    params: carParams
  })
}
// 获取车辆列表信息，查询操作
export function getRentalCar() {
  return request({
    url: '/rentalCarList',
    method: 'get'
  })
}
// 更新取车时间到数据库中
export function updateOrderLocation(params) {
  return request({
    url: '/car/rentaling',
    method: 'post',
    data: params
  })
}
// 更新取车时间到数据库中
export function updateOrderReturnLocation(params) {
  return request({
    url: '/car/rentaled',
    method: 'post',
    data: params
  })
}
// 更新花费的油量
export function updateCurOil(params) {
  return request({
    url: '/car/curOil',
    method: 'post',
    data: params
  })
}
// 模糊查询车辆接口
export function getCarLikeList(name) {
  return request({
    url: `/carLikeList`,
    method: 'post',
    data: name
  })
}
// 根据车辆id以及车辆是否可租来获取数据
export function updateCarList(rentalStatus, id) {
  return request({
    url: `/updateCarList?rentalStatus=${rentalStatus}&id=${id}`,
    method: 'get'
  })
}
// 查询唯一的租车公司名称
export function selectCompany(unitPrice) {
  return request({
    url: `/companyList`,
    methods: 'get'
  })
}
// 按照同一个租车公司来分类查找车辆
export function selectCompanyCar(company) {
  return request({
    url: `/companyCarList?company=${company}`,
    methods: 'get'
  })
}

// 根据不同价格获取不同的时间套餐列表
export function getTimePackageList(unitPrice) {
  return request({
    url: `/getTimePackage?unitPrice=${unitPrice}`,
    methods: 'get',
    params: unitPrice
  })
}
// 根绝id来获取套餐
export function getPackageList(id) {
  return request({
    url: `/packageList?id=${id}`,
    methods: 'get'
  })
}

// ----------停车位表相关接口操作
// 根据经纬度来获取停车位
export function getRentalParkingList(longitude, latitude) {
  return request({
    url: `/getRentalParking?longitude=${longitude}&latitude=${latitude}`,
    methods: 'get'
  })
}

// 根据停车位id已经该车位是否已被预约来查询数据
export function updateRentalParkingList(parkingOccupyStatus, carId, id) {
  return request({
    url: `/updateRentalParking?parkingOccupyStatus=${parkingOccupyStatus}&car_id=${carId}&id=${id}`,
    methods: 'get'
  })
}

// -------------订单表相关接口操作
export function getAllOrderListById(userId) {
  return request({
    url: `/getAllOrderListId?user_id=${userId}`,
    method: 'get'
  })
}
export function getAllOrderList() {
  return request({
    url: `/getAllOrderList`,
    method: 'get'
  })
}
// 根据用户id以及当前订单是否已结束获取订单列表，查询操作
export function getOrderList(userId, orderStatus) {
  return request({
    url: `/getOrderList?user_id=${userId}&orderStatus=${orderStatus}`,
    method: 'get'
  })
}
// 根据订单id以及当前订单是否已结束来获取订单列表，查询操作
export function getOrderListById(id, orderStatus) {
  return request({
    url: `/getOrderListById?id=${id}&orderStatus=${orderStatus}`,
    method: 'get'
  })
}
// 订单接口，插入用户等字段，插入操作
export function setOrderList(params) {
  return request({
    url: '/order',
    method: 'post',
    data: params
  })
}
// 获取订单页面信息操作
export function getOrderingData(id) {
  return request({
    url: `/ordering?id=${id}`,
    method: 'get'
  })
}
// 删除订单
export function deleteOrderList(params) {
  return request({
    url: '/order/deleteList',
    method: 'post',
    data: params
  })
}
// 更新订单接口中的时间金额等，更新操作
export function updateEndTime(endTime, orderStatus, money, packageId, id) {
  return request({
    url: `/updateEndTime?endTime=${endTime}&orderStatus=${orderStatus}&totalMoney=${money}&packageId=${packageId}&id=${id}`,
    method: 'get'
  })
}
// 根据用户id来查询相关订单列表
export function selectOrderListById(userId) {
  return request({
    url: `/orderListById?user_id=${userId}`,
    method: 'get'
  })
}
// 根据订单表中的车辆id来获取车辆表中车辆的信息
export function getCarListByCarId(userId) {
  return request({
    url: `/carListById?user_id=${userId}`,
    method: 'get'
  })
}
// 根据订单表中的车辆id来获取车辆表中车辆的信息
export function getSpaceStartTime(startAppointTime,userId) {
  return request({
    url: `/spaceAppointList?startAppointTime=${startAppointTime}&user_id=${userId}`,
    method: 'get'
  })
}
// 重置开始预约时间
export function resetStartAppoint(params) {
  return request({
    url: `/spaceAppointList2`,
    method: 'post',
    data: params
  })
}
// 根据订单表中的车辆id来获取车辆表中车辆的信息
export function getSpaceEndTime(endAppointTime,userId) {
  return request({
    url: `/spaceAppointEndList?endAppointTime=${endAppointTime}&user_id=${userId}`,
    method: 'get'
  })
}
// 获取用户余额
export function getDeposit(params) {
  return request({
    url: "/profile/surplus",
    method: 'post',
    data: params
  })
}
// 获取订单总金额
export function getOrderMoney(params) {
  return request({
    url: '/order/money',
    method: 'post',
    data: params
  })
}
// 更新余额
export function updateDeposit(params) {
  return request({
    url: '/profile/update',
    method: 'post',
    data: params
  })
}

// 更新当前车辆的轨迹信息
export function updateCarTrajectory(params) {
  return request({
    url: '/order/trajectory',
    method: 'post',
    data: params
  })
}

// 更新行程距离到订单表中
export function updateCarDistance(params) {
  return request({
    url: '/order/distance',
    method: 'post',
    data: params
  })
}

// ------------停车位接口
// 更新订单接口中的停车位状态
export function updateSpaceData(space, userId, orderStatus) {
  return request({
    url: `/updateSpace?space=${space}&user_id=${userId}&orderStatus=${orderStatus}`,
    method: 'get'
  })
}
// 更新停车位表中的停车位可预约状态
export function updateSpaceData2(carId) {
  return request({
    url: `/updateSpace2?car_id=${carId}`,
    method: 'get'
  })
}
// 更新停车位中的车辆id
export function updateCarId(carId, id) {
  return request({
    url: `/updateCarIdList?car_id=${carId}&id=${id}`,
    method: 'get'
  })
}
// 再次租车更新车位以及车辆id情况
export function updateSpaceAndCar(carId) {
  return request({
    url: `/updateCarIdAndSpace?car_id=${carId}`,
    method: 'get'
  })
}

// 获取收藏表里的数据
export function getCollectionList(userId, carId) {
  return request({
    url: `/collectionList?user_id=${userId}&car_id=${carId}`,
    method: 'get'
  })
}
// 获取收藏表里的数据
export function getCollectList(userId) {
  return request({
    url: `/collectList?user_id=${userId}`,
    method: 'get'
  })
}
// 插入收藏的用户以及车辆数据
export function getInsertCollection(userId, carId) {
  return request({
    url: `/insertCollection?user_id=${userId}&car_id=${carId}`,
    method: 'get'
  })
}
// 删除收藏的用户以及车辆数据
export function getDeleteCollection(userId, carId) {
  return request({
    url: `/deleteCollection?user_id=${userId}&car_id=${carId}`,
    method: 'get'
  })
}
// 获取收藏表里car_id对应的车辆数据
export function getCarListByCollectCarId(carId) {
  return request({
    url: `/carListByCollectId?car_id=${carId}`,
    method: 'get'
  })
}
// 获取收藏表的数据
export function getUpdateList(userId) {
  return request({
    url: `/updateList?user_id=${userId}`,
    method: 'get'
  })
}

// ------------广场表相关接口操作
// 获取广场列表信息，查询操作
export function getSquareList(squareParams) {
  return request({
    url: '/getSquareList',
    method: 'get',
    params: squareParams
  })
}

// ------------攻略表相关接口操作
// 获取攻略列表信息，查询操作
export function getStrategyList(strategyParams) {
  return request({
    url: '/getStrategyList',
    method: 'get',
    params: strategyParams
  })
}

// ------------首页小组件相关接口操作
// 获取轮播图列表
export function getSwiperList(giftParams) {
  return request({
    url: '/getSwiperList',
    method: 'get',
    params: giftParams
  })
}
// 获取大礼包列表信息，查询操作
export function getGiftList(giftParams) {
  return request({
    url: '/getGiftData',
    method: 'get',
    params: giftParams
  })
}
// ------------广告接口相关操作
export function getAdvertiseList() {
  return request({
    url: '/getAdvertise',
    method: 'get'
  })
}
// ------------导航接口相关操作
export function getGuideList() {
  return request({
    url: '/getGuide',
    method: 'get'
  })
}
// ------------导航接口相关操作
export function getAdvertiseTwoList() {
  return request({
    url: '/getAdvertTwoList',
    method: 'get'
  })
}

// 修改头像（单文件上传）
export function handleSingleUpload(params) {
  return request({
    url: '/profile/avatar',
    method: 'post',
    data: params
  })
}
// 更新头像
export function updateAvatar(params) {
  return request({
    url: '/profile/update/avatar',
    method: 'post',
    data: params
  })
}

// 处理多张图片
export function handleMultiVoucher(params) {
  return request({
    url: '/vehicle/handleVoucher',
    method: 'post',
    data: params
  })
}
// 更新还车凭证
export function updateAfterVoucher(params) {
  return request({
    url: '/voucher/update',
    method: 'post',
    data: params
  })
}